home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / social / twitter / twitterapi.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  3KB  |  95 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import simplejson
  5. import urllib2
  6. API_REALM = 'Twitter API'
  7. NET_LOCS = [
  8.     'twitter.com',
  9.     'www.twitter.com']
  10.  
  11. class TwitterException(Exception):
  12.     
  13.     def __init__(self, e):
  14.         pass
  15.  
  16.  
  17.  
  18. class TwitterAuthError(TwitterException):
  19.     pass
  20.  
  21.  
  22. class TwitterApi(object):
  23.     
  24.     def __init__(self, twitter_protocol):
  25.         self.twitter_protocol = twitter_protocol
  26.  
  27.     
  28.     def password(self):
  29.         return self.twitter_protocol._decryptedpw()
  30.  
  31.     password = property(password)
  32.     
  33.     def username(self):
  34.         return self.twitter_protocol.username
  35.  
  36.     username = property(username)
  37.     
  38.     def PostUpdateData(self, text):
  39.         url = 'statuses/update.json'
  40.         data = {
  41.             'status': text }
  42.         
  43.         try:
  44.             data.update(source = self.source)
  45.         except AttributeError:
  46.             pass
  47.  
  48.         json = self._FetchUrl(url, post_data = data)
  49.         data = simplejson.loads(json)
  50.         return data
  51.  
  52.     
  53.     def PostDirectMessageData(self, user, text):
  54.         url = 'direct_messages/new.json'
  55.         data = {
  56.             'text': text,
  57.             'user': user }
  58.         
  59.         try:
  60.             data.update(source = self.source)
  61.         except AttributeError:
  62.             pass
  63.  
  64.         json = self._FetchUrl(url, post_data = data)
  65.         data = simplejson.loads(json)
  66.         return data
  67.  
  68.     
  69.     def _FetchUrl(self, selector, post_data = None):
  70.         url = self.twitter_protocol.HTTP + selector
  71.         return self.opener.open(url, post_data).read()
  72.  
  73.     
  74.     def opener(self):
  75.         
  76.         try:
  77.             return self._opener
  78.         except AttributeError:
  79.             self._opener = self._build_opener()
  80.             return self._opener
  81.  
  82.  
  83.     opener = property(opener)
  84.     
  85.     def _build_opener(self):
  86.         GetDefaultHandlers = GetDefaultHandlers
  87.         import util
  88.         handler = urllib2.HTTPBasicAuthHandler()
  89.         for NET_LOC in NET_LOCS:
  90.             handler.add_password(API_REALM, NET_LOC, self.username, self.password)
  91.         
  92.         return urllib2.build_opener(handler, *GetDefaultHandlers())
  93.  
  94.  
  95.